package edu.pe.cayetano.view.action;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.RowSetDynaClass;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import ws.synopsis.frmwrk.common.BResult;
import edu.pe.cayetano.model.bean.PacienteBean;
import edu.pe.cayetano.model.bean.PlanTratamientoBean;
import edu.pe.cayetano.model.bean.PlanTratamientoDetalleBean;
import edu.pe.cayetano.model.bo.DiagnosticoDefinitivoBO;
import edu.pe.cayetano.model.bo.EspecialidadBO;
import edu.pe.cayetano.model.bo.FaseTratamientoBO;
import edu.pe.cayetano.model.bo.PlanTratramientoBO;
import edu.pe.cayetano.model.bo.SedeBO;
import edu.pe.cayetano.model.bo.ServicioBO;
import edu.pe.cayetano.seccd.constantes.ConstantesListas;
import edu.pe.cayetano.seccd.constantes.ConstantesSECCD;
import edu.pe.cayetano.seccd.constantes.ConstantesSession;
import edu.pe.cayetano.util.EscribeLog;
import edu.pe.cayetano.util.Utilitario;
import edu.pe.cayetano.util.UtilitarioSession;

public class PlanTratamientoAction extends BaseAction{
	
	private String page=null;
	
	public ActionForward listar(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult					ret					= new BResult();
		PlanTratramientoBO		planTrataBO 	= new PlanTratramientoBO();
		try {
			HttpSession session = request.getSession(false);
			ret = planTrataBO.listarPlanTratamiento();
			if(ret.getCode()==0 && ret.getObject()!=null){
				page=ConstantesSECCD.EXITO;
				UtilitarioSession.eliminaParametrosBusquedaGenerico(session);
				UtilitarioSession.seteaParametrosListadoGenerico(session,(RowSetDynaClass)ret.getObject());
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","listar",ConstantesSECCD.ERROR,ret.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_LISTAR,new String[0],"home.do","home");
			}
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","listar",ConstantesSECCD.ERROR,ConstantesSECCD.ERROR_PLANTRATAMIENTO_LISTAR);
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_LISTAR,new String[0],"home.do","home");
		}
		return mapping.findForward(page);	
	}
	
	public ActionForward buscaPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult					ret			= new BResult();
		PlanTratramientoBO		planBO 		= new PlanTratramientoBO();
		try {
			HttpSession 		session 	= request.getSession(false);
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			ret = planBO.buscarPlanTratamiento(dyna);
			if(ret.getCode()==0 && ret.getObject()!=null){
				page=ConstantesSECCD.EXITO;
				UtilitarioSession.seteaParametrosBusquedaGenerico(session,(RowSetDynaClass)ret.getObject(),dyna);
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","buscaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_BUSQUEDA,new String[0],"planTratamiento.do","listar");
			}
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","buscaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_BUSQUEDA,new String[0],"planTratamiento.do","listar");
		}
		return mapping.findForward(page);	
	}
	
	public ActionForward cargaInsertaPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		try{
			HttpSession 		session 	= request.getSession(false);
			UtilitarioSession.eliminaAtributosSessionPlanTratamiento(session);
		}catch(Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("OrdenServicioAction","cargaInsertaOrdenServicio",ConstantesSECCD.ERROR,ConstantesSECCD.ERROR_ORDENSERVICIO_CARGAINSERTAR);
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
		}	
		return mapping.findForward(page);	
	}

	public ActionForward buscarServicioxEspecialidadxSede(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult			retEsp			= new BResult();
		ServicioBO		servicioBO 	= new ServicioBO();
		
		try{
			HttpSession 		session 	= request.getSession(false);
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);

			retEsp = servicioBO.getServiciosxEspecialidadesxSedes(dyna);
			if(retEsp.getCode()==0 && retEsp.getObject()!=null){
				page = UtilitarioSession.establecePaginaExito(dyna);
				UtilitarioSession.seteaAtributosSessionPlanTratamiento(session,dyna);
				session.setAttribute(ConstantesListas.LISTA_SERVICIOS, (ArrayList<?>)retEsp.getObject());
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","buscarServicioxEspecialidadxSedexPT",ConstantesSECCD.ERROR,retEsp.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
			}
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","buscarServicioxEspecialidadxSede",ConstantesSECCD.ERROR,retEsp.getMessage());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
		}
		return mapping.findForward(page);	
	}
	
	public ActionForward buscarArchivoxDiagnostico(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult						retP				= new BResult();
		DiagnosticoDefinitivoBO		diagnosticoBO 		= new DiagnosticoDefinitivoBO();
		BResult						retPT				= new BResult();
		PlanTratramientoBO			planTratamBO 		= new PlanTratramientoBO();
		
		try{
			HttpSession 		session 	= request.getSession(false);
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			
			retPT = planTratamBO.buscarPlanTratamientoxArchivo(dyna);
			// si no existe un plan de tratamiento para el archivo de la historia clinica
			if(ConstantesSECCD.EXITO_RET==retPT.getCode()&& retPT.getObject()!=null){
				retP = diagnosticoBO.buscarArchivoxDiagnostico(dyna);
				if(retP.getCode()==0 && retP.getObject()!=null){
					BResult					retS	= new BResult();
					SedeBO					sedeBO  = new SedeBO();
					retS = sedeBO.getSedes();
					if(retS.getCode()==0 && retS.getObject()!=null){
						BResult			retEsp		= new BResult();
						EspecialidadBO  espBO 		= new EspecialidadBO();
						retEsp = espBO.getEspecialidadadesxSede(((PacienteBean)retP.getObject()).getSedeID());
						if(retEsp.getCode()==0 && retEsp.getObject()!=null){
							BResult					retF		= new BResult();
							FaseTratamientoBO  		faseBO 		= new FaseTratamientoBO();
							retF = faseBO.getFases();
							if(retF.getCode()==0 && retF.getObject()!=null){
								page = UtilitarioSession.establecePaginaExito(dyna);
								session.setAttribute(ConstantesListas.LISTA_FASES, (ArrayList<?>)retF.getObject());
								session.setAttribute(ConstantesListas.LISTA_SEDES, (ArrayList<?>)retS.getObject());
								session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES, (ArrayList<?>)retEsp.getObject());
								session.setAttribute(ConstantesSession.PACIENTETO, (PacienteBean)retP.getObject());

								page = UtilitarioSession.establecePaginaExito(dyna);
								UtilitarioSession.seteaAtributosSessionPlanTratamiento(session,dyna);
							}
							else{
								page=ConstantesSECCD.ERROR;
								EscribeLog.escribeLog("PlanTratamientoAction","buscarEspecialidadxSedexPT",ConstantesSECCD.ERROR,retEsp.getMessage());
								mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
							}
										}else{
							page=ConstantesSECCD.ERROR;
							EscribeLog.escribeLog("PlanTratamientoAction","buscarEspecialidadxSedexPT",ConstantesSECCD.ERROR,retEsp.getMessage());
							mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
						}
					}else{
						page=ConstantesSECCD.ERROR;
						EscribeLog.escribeLog("PlanTratamientoAction","buscarEspecialidadxSedexPT",ConstantesSECCD.ERROR,retS.getMessage());
						mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
					}	
				}else{
					page = UtilitarioSession.establecePaginaExito(dyna);
					EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,retPT.getMessage());
					mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
				}
			}
			// si  existe un plan de tratamiento para el archivo de la historia clinica
			else if(ConstantesSECCD.EXISTE_PT_X_FHC==retPT.getCode()&& retPT.getObject()!=null){
				page = UtilitarioSession.establecePaginaExito(dyna);
				UtilitarioSession.eliminaParametrosBusquedaGenerico(session);
				request.setAttribute("existeArchivoxPlanTrat","SI");
				EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,retPT.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
			}
			// si hubo una excepcion recuperando 
			else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,retPT.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
			}
			}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,retP.getMessage());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
		}
		return mapping.findForward(page);	
	}

	public ActionForward agregaActividadPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		
		try{
			HttpSession 				session 			= request.getSession(false);
			DynaBean					dyna				= Utilitario.createDynaBeanFromRequest("dynaBean", request);
		
			String 						cboServicio 		= request.getParameter("cboServicio");
            String 						fase 				= request.getParameter("cboFase");
            
            String 						cantidades[] 			= request.getParameterValues("cantidades");
            String 						fases[] 				= request.getParameterValues("fases");
            String 						servicios[] 			= request.getParameterValues("servicios");
            String 						nomFases[] 				= request.getParameterValues("nomFases");
            String 						nomEspecialidades[] 	= request.getParameterValues("nomEspecialidades");
            String 						nomServicios[] 			= request.getParameterValues("nomServicios");
            String 						concatenados[] 			= request.getParameterValues("concatenados");
            
    		
            PlanTratamientoDetalleBean	planTO 				= null;
    		
            String 						newRegistro 		= fase+"-"+cboServicio;
            
            ServicioBO 					servicioBO 			= new ServicioBO();
            PlanTratramientoBO 			planTratamBO 		= new PlanTratramientoBO();
            BResult						retServicio			= new BResult();

            // busca los nombres de las opciones por BD, se deberia recuperar via JS
    		retServicio = servicioBO. buscaServicioxEspecialidad(cboServicio);
    		
    		// recupero de session el hashtable
    		Map 						hashtable 			= (Map) session.getAttribute("hashtableServicioxPT");
    		// si es nulo, significa que es le primer registro.... pasa cuando entro por primera vez
    		if(hashtable == null){
    			hashtable = new LinkedHashMap();
        	}
    		
    		// llenando un detalle con los datos ingresados....
    		planTO = (PlanTratamientoDetalleBean)retServicio.getObject();
    		planTO.setNombreFase(UtilitarioSession.obtieneNombreFaseTratamiento(session, Utilitario.convierteCadenaToInt((fase))));
    		planTO.setCodigoFase(Integer.valueOf(fase).intValue());
    		planTO.setConcatenadoServicioxFase(newRegistro);
    		// si no hay cantidades, signfica que es el primer registro
    		if(cantidades==null){
    			planTO.setCantidad(1);
    			hashtable.put(newRegistro, planTO);
            }else{
            	// existe el hashtable en session y se tienen cantidades
            	planTO.setCantidad(1);
            	hashtable = planTratamBO.generaDetalleServicioxPT(hashtable,concatenados, fases, servicios, cantidades,nomFases,nomEspecialidades,nomServicios);
            	hashtable.put(newRegistro, planTO);
            }
    		hashtable = Utilitario.ordenarElementosMap(hashtable);
            page = UtilitarioSession.establecePaginaExito(dyna);
            
            session.setAttribute("hashtableServicioxPT", hashtable);
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,e.getMessage().toString());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
		}		
	
		return mapping.findForward(page);	
	}
	
	public ActionForward eliminaActividadPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		
		try{
			HttpSession 		session 	= request.getSession(false);
			Map hashtable = (Map) session.getAttribute("hashtableServicioxPT");
	        
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			String codigo = (String)Utilitario.getPropertyDynaBean(dyna, "codigo");
	
			hashtable.remove(codigo);
            
			page = UtilitarioSession.establecePaginaExito(dyna);
			session.setAttribute("hashtableServicioxPT", hashtable);
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","buscarArchivoxPT",ConstantesSECCD.ERROR,e.getMessage().toString());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAINSERTAR,new String[0],"planTratamiento.do","listar");
		}		
	
		return mapping.findForward(page);	
	}
	
	
	public ActionForward insertaPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult						ret				= new BResult();
		PlanTratramientoBO			planTratBO  	= new PlanTratramientoBO();
		PlanTratamientoDetalleBean	detalleTO		= null;
		ArrayList					lista			= new ArrayList();
		try{
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			String cantidades[] = request.getParameterValues("cantidades");
			String servicios[] 	= request.getParameterValues("servicios");
			String fases[] 		= request.getParameterValues("fases");
			HttpSession 		session 	= request.getSession(false);
			
			for (int i = 0; i < cantidades.length; i++) {
				detalleTO		= new PlanTratamientoDetalleBean();
				detalleTO.setCantidad(Integer.valueOf(cantidades[i]).intValue());
				detalleTO.setCodigoServicio(Integer.valueOf(servicios[i]).intValue());
				detalleTO.setCodigoFase(Utilitario.convierteCadenaToInt((fases[i])));
				lista.add(detalleTO);			
			}
			
			ret = planTratBO.insertaPlanTratamiento(dyna,lista);
			if(ret.getCode()==0){
				mostrarMensaje(request,ConstantesSECCD.EXITO_PLANTRATAMIENTO_INSERTAR,new String[0],"planTratamiento.do","listar");
				page=ConstantesSECCD.EXITO;
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","insertaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_INSERTAR,new String[0],"planTratamiento.do","listar");
			}
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","insertaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_INSERTAR,new String[0],"planTratamiento.do","listar");
		}
		return mapping.findForward(page);	
	}

	public ActionForward cargaEditaPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult						ret				= new BResult();
		PlanTratramientoBO			planTratBO  	= new PlanTratramientoBO();
		String 						codigo 			= null;
		try {
			HttpSession 		session 	= request.getSession(false);
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			codigo = Utilitario.getPropertyDynaBean(dyna,"codigo");
			ret = planTratBO.buscarPlanTratamientoEspecifico(dyna);
			if(ret.getCode()==0 && ret.getObject()!=null){
				BResult					retS	= new BResult();
				SedeBO					sedeBO  = new SedeBO();
				retS = sedeBO.getSedes();
				if(retS.getCode()==0 && retS.getObject()!=null){
					BResult			retEsp		= new BResult();
					EspecialidadBO  espBO 		= new EspecialidadBO();
					retEsp = espBO.getEspecialidadadesxSede(Utilitario.convierteCadenaToInt(((PlanTratamientoBean)ret.getObject()).getSede()));
					if(retEsp.getCode()==0 && retEsp.getObject()!=null){
						BResult					retF		= new BResult();
						FaseTratamientoBO  		faseBO 		= new FaseTratamientoBO();
						retF = faseBO.getFases();
						if(retF.getCode()==0 && retF.getObject()!=null){
							page=ConstantesSECCD.EXITO;
							BResult				retDPT		= new BResult();
							retDPT	= planTratBO.buscarDetallePlanTratamiento(codigo);
							session.setAttribute("hashtableServicioxPT", (Map)retDPT.getObject());
							session.setAttribute(ConstantesListas.LISTA_FASES, (ArrayList<?>)retF.getObject());
							session.setAttribute(ConstantesSession.PLANTRATAMIENTOTO,(PlanTratamientoBean)ret.getObject());
							session.setAttribute(ConstantesListas.LISTA_SEDES, (ArrayList<?>)retS.getObject());
							session.setAttribute(ConstantesListas.LISTA_ESPECIALIDADES, (ArrayList<?>)retEsp.getObject());
							session.setAttribute("tmpPT", codigo);
						}else{
							page=ConstantesSECCD.ERROR;
							EscribeLog.escribeLog("PlanTratamientoAction","cargaEditaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
							mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAEDITAR,new String[0],"planTratamiento.do","listar");
						}
					}else{
						page=ConstantesSECCD.ERROR;
						EscribeLog.escribeLog("PlanTratamientoAction","cargaEditaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
						mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAEDITAR,new String[0],"planTratamiento.do","listar");
					}
				}else{
					page=ConstantesSECCD.ERROR;
					EscribeLog.escribeLog("PlanTratamientoAction","cargaEditaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
					mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAEDITAR,new String[0],"planTratamiento.do","listar");
				}
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","cargaEditaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAEDITAR,new String[0],"planTratamiento.do","listar");
			}
	}catch (Exception e) {
		page=ConstantesSECCD.ERROR;
		EscribeLog.escribeLog("PlanTratamientoAction","cargaEditaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
		mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_CARGAEDITAR,new String[0],"planTratamiento.do","listar");
	}
		return mapping.findForward(page);	
	}

	public ActionForward editaPlanTratamiento(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		BResult						ret				= new BResult();
		PlanTratramientoBO			planTratBO  	= new PlanTratramientoBO();
		PlanTratamientoDetalleBean	detalleTO		= null;
		ArrayList					lista			= new ArrayList();
		String [] params = {""};
		try{
			DynaBean			dyna		= Utilitario.createDynaBeanFromRequest("dynaBean", request);
			String cantidades[] = request.getParameterValues("cantidades");
			String servicios[] 	= request.getParameterValues("servicios");
			String fases[] 		= request.getParameterValues("fases");
			HttpSession 		session 	= request.getSession(false);
			
			for (int i = 0; i < cantidades.length; i++) {
				detalleTO		= new PlanTratamientoDetalleBean();
				detalleTO.setCantidad(Integer.valueOf(cantidades[i]).intValue());
				detalleTO.setCodigoServicio(Integer.valueOf(servicios[i]).intValue());
				detalleTO.setCodigoFase(Utilitario.convierteCadenaToInt((fases[i])));
				lista.add(detalleTO);			
			}
			params[0] = Utilitario.getPropertyDynaBean(dyna,"codigo");
			ret = planTratBO.editaPlanTratamiento(dyna,lista);
			if(ret.getCode()==0){
				mostrarMensaje(request,ConstantesSECCD.EXITO_PLANTRATAMIENTO_EDITAR,params,"planTratamiento.do","listar");
				page=ConstantesSECCD.EXITO;
			}else{
				page=ConstantesSECCD.ERROR;
				EscribeLog.escribeLog("PlanTratamientoAction","insertaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
				mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_EDITAR,params,"planTratamiento.do","listar");
			}
		}catch (Exception e) {
			page=ConstantesSECCD.ERROR;
			EscribeLog.escribeLog("PlanTratamientoAction","insertaPlanTratamiento",ConstantesSECCD.ERROR,ret.getMessage());
			mostrarMensaje(request,ConstantesSECCD.ERROR_PLANTRATAMIENTO_EDITAR,params,"planTratamiento.do","listar");
		}
		return mapping.findForward(page);	
	}
	
}
